package com.redstars.generate.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.redstars.generate.utils.DateUtils;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* 代码生成表
*
* @author zhouhx
* @since 1.0.0 2022-10-05
*/
@Data
public class SysTableVo implements Serializable {
	private static final long serialVersionUID = 1L;


	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long id;

	/**
	 * 表名
	 */
	private String tableName;

	/**
	 * 类名
	 */
	private String className;

	/**
	 * 说明
	 */
	private String tableComment;

	/**
	 * 作者
	 */
	private String author;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 项目包名
	 */
	private String packageName;

	/**
	 * 项目版本号
	 */
	private String version;

	/**
	 * 生成方式  0：zip压缩包   1：自定义目录
	 */
	private Integer generatorType;

	/**
	 * 后端生成路径
	 */
	private String backendPath;

	/**
	 * 前端生成路径
	 */
	private String frontendPath;

	/**
	 * 模块名
	 */
	private String moduleName;

	/**
	 * 功能名
	 */
	private String functionName;

	/**
	 * 表单布局  1：一列   2：两列
	 */
	private Integer formLayout;

	/**
	 * 数据源ID
	 */
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long datasourceId;

	/**
	 * 基类ID
	 */
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long baseclassId;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private Date createTime;

	/**
	 * 字段列表
	 */
	private List<SysTableFieldVo> fieldList;

	/**
	 * 子表字段列表
	 */
	private List<SysMainSubTableVo> subTableList;

	/**
	 * 关联项目id
	 */
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long sysProjectId;
}